22ad646acae35d6c1dcdae67071c5d9125c2d498,core/src/com/cloud/storage/template/VhdProcessor.java,VhdProcessor,getVirtualSize,#File#,119
Before Change
strm = new FileInputStream(file);
strm.skip(file.length() - vhdFooterSize + vhdFooterCreatorAppOffset);
strm.read(creatorApp);
strm.skip(vhdFooterCurrentSizeOffset - vhdFooterCreatorVerOffset);
strm.read(currentSize);
} catch (Exception e) {
s_logger.warn("Unable to read vhd file " + file.getAbsolutePath(), e);
throw new CloudRuntimeException("Unable to read vhd file " + file.getAbsolutePath() + ": " + e);
After Change
if (read == -1) {
throw new IOException("Unexpected end-of-file");
}
skipped = strm.skip(vhdFooterCurrentSizeOffset - vhdFooterCreatorVerOffset);
if (skipped == -1) {
throw new IOException("Unexpected end-of-file");
}
read = strm.read(currentSize);
if (read == -1) {
throw new IOException("Unexpected end-of-file");
}
}